home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / packer / xpkarchive / examples / xren.c < prev    next >
C/C++ Source or Header  |  1995-03-09  |  1KB  |  73 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. #include <libraries/xpkarchive.h>
  5.  
  6. struct Library *XpkArchiveBase;
  7.  
  8. main(int argc,char *argv[])
  9. {
  10.    char *p;
  11.    int og=0,ng=0;
  12.    XarHandle *arc;
  13.    LONG Error;
  14.  
  15.    XpkArchiveBase=OpenLibrary("xpkarchive.library",1);
  16.    if(!XpkArchiveBase) {
  17.       fprintf(stderr,"Cannot open xpkarchive.library\n");
  18.       exit(0);
  19.    }
  20.  
  21.    if(argc!=4) {
  22.       fprintf(stderr,"Usage: %s <arc> <oldname> <newname>\n",argv[0]);
  23.       goto fail1;
  24.    }
  25.  
  26.    if(!(arc=XarOpenArchive(XAR_ArchiveName,argv[1],
  27.                            XAR_Error,&Error,TAG_DONE))) {
  28.       fprintf(stderr,"Cannot open source archive.Error: %ld\n",Error);
  29.       goto fail1;
  30.    }
  31.  
  32.  
  33.    if(p=rindex(argv[2],',')) {
  34.       *p=0;
  35.       sscanf(p+1,"%d",&og);
  36.       og--;
  37.    }
  38.    if(p=rindex(argv[3],',')) {
  39.       *p=0;
  40.       sscanf(p+1,"%d",&ng);
  41.       ng--;
  42.    }
  43.  
  44.  
  45.    printf("%s,%d  %s,%d\n",argv[2],og+1,argv[3],ng+1);
  46.  
  47.    printf("R: %ld\n",XarRenameFile(XAR_Archive,arc,
  48.                                XAR_FileName,argv[2],
  49.                                XAR_Generation,og,
  50.                                XAR_NewName,argv[3],
  51.                                XAR_NewGeneration,ng,
  52.                                TAG_DONE));
  53.  
  54.    XarCloseArchive(arc);
  55. fail1:
  56.    CloseLibrary(XpkArchiveBase);
  57.    exit(0);
  58.  
  59. }
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.